iT邦幫忙

2024 iThome 鐵人賽

DAY 29
0
AI/ ML & Data

Web仔從數學角度學習 AI/ ML & Data系列 第 29

Day 29 - Web仔從數學角度學習 注意力模型

  • 分享至 

  • xImage
  •  

註:本文同步更新在Notion!(數學公式會比較好閱讀)

注意力模型 (Attention Mechanism)

注意力模型是現代深度學習中最具革命性的發展之一,特別是在自然語言處理(NLP)和計算機視覺領域中。它的核心理念是讓模型學會「關注」輸入數據的關鍵部分,而不是均勻地處理所有信息。這一機制極大提升了模型處理長序列數據的能力,並成為變壓器模型(Transformer)等架構的基石。

1. 注意力機制的核心概念

在處理序列數據時,例如句子或圖像,模型常常需要根據當前的上下文動態選擇某些重要信息,而不是一視同仁地對待所有輸入。注意力機制通過為每個輸入分配一個「權重」來決定它的重要性。這些權重表示模型應該「關注」哪部分數據,以便在給定的上下文中生成更準確的輸出。

(a) 鍵、查詢和數值 (Key, Query, Value)

注意力機制的基本組成包括三個向量:

  • 查詢向量(Query, Q):表示模型當前想要根據上下文查找的特定信息。
  • 鍵向量(Key, K):表示數據的特徵,用於匹配查詢向量。
  • 數值向量(Value, V):表示實際的數據內容,將根據查詢和鍵的匹配程度來進行加權求和。

計算每個鍵和查詢之間的匹配程度,這個匹配分數通常表示為兩個向量的點積:

https://ithelp.ithome.com.tw/upload/images/20241011/20168898ylaIBmdvPC.png

(b) 注意力分數和權重

注意力分數計算完後,通過 softmax 函數將其轉換為權重,使得所有權重的總和為 1。這樣能夠更直觀地表示模型應該多大程度上「關注」某個特徵:

https://ithelp.ithome.com.tw/upload/images/20241011/20168898Hdu17xdPkF.png

(c) 輸出計算

https://ithelp.ithome.com.tw/upload/images/20241011/20168898ZwpW2FiIp0.png

加權和的過程就是注意力機制能夠自動選擇重要信息的方式。

2. 注意力機制的類型

(a) 點積注意力(Dot-Product Attention)

這是最基本的形式,直接通過查詢和鍵的點積來計算注意力分數,並應用 softmax 函數生成權重。這種方法計算量小,適合大部分應用。

(b) 縮放點積注意力(Scaled Dot-Product Attention)

當查詢和鍵向量的維度變得很大時,點積的值會變得很大,這可能會導致梯度消失或梯度爆炸問題。因此,在變壓器模型中,通常會將點積結果除以查詢向量的維度平方根來進行縮放:

https://ithelp.ithome.com.tw/upload/images/20241011/20168898N4yt62SjSR.png

(c) 多頭注意力(Multi-Head Attention)

多頭注意力機制是變壓器模型中的一個重要組成部分,它通過多個注意力機制的並行運行來提升模型的表達能力。每個「頭」都學習到不同的表示方式,這讓模型能夠同時關注數據的不同部分:

https://ithelp.ithome.com.tw/upload/images/20241011/20168898FOsrBnSIwS.png

3. 注意力機制

注意力機制為神經網路提供了一個「自適應權重」的機制,使模型能夠根據輸入數據的特徵動態地調整其內部的注意力模式。這種自適應性極大提升了模型的表達能力,特別是在需要處理變長序列或高度結構化數據的情境下。

  • 矩陣運算:注意力計算過程實際上是矩陣乘法的延伸,查詢、鍵和數值向量可以通過矩陣形式進行批處理,這大大提高了計算效率。
  • 正則化效果:注意力機制在一定程度上起到了類似正則化的效果,通過動態調整權重,它幫助模型避免過度依賴單一特徵,從而增強了泛化能力。

注意力機制通過其動態調整權重的能力,使得深度學習模型能夠更加靈活地處理各種復雜的任務。隨著變壓器等模型的出現,注意力機制已經成為深度學習的核心工具之一,並在多個領域中展現出強大的應用潛力。


上一篇
Day 28 - Web仔從數學角度學習 神經圖靈機NTM
下一篇
Day 30 - Web仔從數學角度學習AI/ ML & Data 最終篇
系列文
Web仔從數學角度學習 AI/ ML & Data30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言